home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-22 | 44.4 KB | 1,032 lines |
- README for Symantec Visual Cafe PRO Version 1.0e 06/20/97
- ================================================================
- Copyright (c) 1997 by Symantec Corporation. All Rights Reserved.
-
- NOTE:
- The Visual Cafe PRO consists of two products: the Visual
- Integrated Development Environment (e.g. Visual Cafe) with
- database aware functionality (components, wizards, interactions),
- and the dbANYWHERE Workgroup Server. This README file is
- explicitly for Visual Cafe PRO, and the file for dbANYWHERE is
- available upon installation of the dbANYWHERE Workgroup Server.
- It is highly recommended that you review this file, since it
- contains useful information which pertains to using Visual Cafe Pro.
-
-
- Table of Contents:
- I. Welcome
- II. Installation Notes
- III. User Tips
- IV. Known Problems-PRO Specific and Vendor Specific
- V. Revision History
- VI. Additional Information
- VII. Contacting Symantec for Technical Support
-
- I. Welcome!
- ================================================================
- Welcome to Symantec Visual Cafe PRO Version 1.0 for Windows 95
- and Windows NT. Please take a few minutes to read this file.
-
-
- II. Installation Notes
- ================================================================
- If you have previously downloaded the Preview Releases of Visual
- Cafe, you must remove them before installing Visual Cafe PRO 1.0.
-
- Run setup.exe. The installation should proceed smoothly. As with
- any new software, please install Visual Cafe PRO in a clean directory.
-
- If you are using Microsoft's NTFS do not install into a directory
- that has a name containing spaces.
-
- You will need to use a Web browser to read the Database
- Reference and API document, DatabaseReference.HTML.
-
-
- Installing and Running the Tutorial
- ---------------------------------------------------------------
- If you are new to Java development, please take the time to work
- through the exciting and informative tutorial that is part of
- Visual Cafe PRO. This tutorial will provide you with an overview
- of Visual Cafe PRO's most powerful features.
-
- What's in the Tutorial?
- ---------------------------------------------------------------
- In the Tutorial you will learn how to:
-
- * Design an applet, then build and install it in a Web page.
- * Run the applet in a Web browser.
- * Design an application, then build, test, debug, and run it.
- * Learn about Visual Cafe PRO's powerful database-aware features.
-
-
- III. User Tips
- ================================================================
- 1. How do I configure my Web browser to run an applet I created
- using custom classes?
-
- When you are ready to view your applet outside the Visual Cafe
- PRO environment, you need to make sure that the AppletViewer or
- your favorite Web browser can find the custom classes included
- with Visual Cafe PRO 1.0e. For local browsing, add an
- environment variable to your autoexec.bat file, such as:
-
- SET CLASSPATH=C:\VisualCafePro\java\lib\vecclass.zip;
-
- Whether you use a Browser that supports JDK 1.0.2 or 1.1, set the
- classpath to the respective Visual Cafe class files.
-
- *
-
- 2. How do I add values for each column in a non-dbAware MultiList
- component?
-
- When using multiple columns in the MultiList component, you must
- separate the column values with a semicolon. Each row is separated
- with a Ctrl + Enter. Populating static values for a dbAware
- MultiList component is the same. For dynamic values, follow the
- instructions outlined in the on-line help.
-
- *
-
- 3. How do I distribute my applet on a Web server?
-
- When placing the applet on a Web server, contact your Webmaster
- and verify that the Symantec classes are available. If the
- classes are not available on your server, the Webmaster will need
- to add them or tell you how to add them.
-
- A solution that works locally, or from a server, is to copy the
- \VisualCafePro\Java\Lib\symantec directory and all of its contents
- to the directory containing the applet. (The subdirectories of the
- "symantec" directory contain the Visual Cafe PRO Java runtime
- classes.) Make sure to keep the same upper and lower case letters
- for the subdirectories and class files; Java is case-sensitive.
-
- Some items to consider when deploying a dbAware applet: 1) Central
- access to the database(s) along with user permissions, 2) Running
- and maintaining dbANYWHERE on a server for use by the applet, and
- 3) Number of expected simultaneous connections (you may need to get
- the dbANYWHERE Server product for handling your user base).
-
- *
-
- 4. Is there a means of easily figuring out what classes are used
- by my applet, so that I can place them on the web server for
- download when the applet is accessed?
-
- With Visual Cafe PRO 1.0x, a utility called "Bundler" was included
- that allowed you to easily figure out which classes were used by
- your applet or application, and needed to be uploaded to your
- Web server. This functionality is now in our compiler, sj.exe.
- Once your Java app is ready, execute the following command at
- the command prompt (make sure that \VisualCafePro\bin is in
- your path):
-
- sj.exe -depend listname.dep mainclass.java
-
- mainclass is the name of the main class Java file or the project
- name. In this example, listname.dep is the file where the list
- of classes used by your app will be generated. The file
- listname.dep has to have a .dep extension. The name of the zip
- file (if any) where the class file was found will be listed.
- This helps you determine which class files you would need to
- unzip from each class zip file used by your app. Note that while
- the java.* class files are logged in this file, you are not
- actually required to copy those to your Web server, as they are
- usually available with most Internet browsers.
-
- *
-
- 5. What is the "Execute applet in default HTML viewer" option
- in the Project Options dialog?
-
- The "Execute applet in default HTML viewer" option, located in
- the Project Options dialog box, allows you to view your applet
- in your favorite Web browser, instead of the AppletViewer,
- when executing from the Visual Cafe PRO environment.
-
- *
-
- 6. Will Visual Cafe PRO recognize my own source code?
-
- When adding controls directly within the source editor, it is
- recommended that you adhere to the same coding style as generated
- by Visual Cafe PRO. This will allow controls you add to be
- displayed in the form editor. Controls you add outside Visual
- Cafe PRO's tags (which are comments that indicate where Visual
- Cafe PRO generates Java code for the form editor) will not be
- displayed in the form editor and will not be affected by
- automatic code generation.
-
- So to reiterate, if you are adding controls within Visual Cafe
- PRO's tags in the source editor, adhere to Visual Cafe PRO's
- default coding style. Otherwise, you can add controls outside
- of Visual Cafe PRO's tags using your own coding style.
-
- *
-
- 7. What do I need to do to enable Remote Debugging?
-
- If you are using cafeRemote on a remote computer for remote debugging
- you must modify the autoexec.bat file on that machine. You must
- also include VisualCafePro\java\bin your PATH, and create and set
- a CLASSPATH system variable to include all necessary classes for
- the Applet or Application you are debugging. Here is an example:
-
- set PATH=C:\VisualCafePro\Java\Bin;%PATH%
- set CLASSPATH=C:\VisualCafePro\Java\Lib;
- C:\VisualCafePro\Java\Lib\SYMCLASS.ZIP;
- C:\VisualCafePro\Java\Lib\VECCLASS.ZIP;
- C:\VisualCafePro\Java\Lib\DBAW_AWT.ZIP;
- C:\VisualCafePro\Java\Lib\DBAW.ZIP;
- C:\VisualCafePro\Java\Lib\SQL.ZIP;C:\YOUR_CLASSES;
-
- Note that a PATH or CLASSPATH statement in your system files
- is one continuous line with no spaces or carriage returns.
-
- *
-
- 8. I'm charged for Web server space on a per megabyte basis.
- Is there a more efficient way to deploy other than copying the
- \symantec class subdirectory to each of my applet directories?
-
- The use of a CODEBASE="URL of applet directory" attribute within
- the <APPLET></APPLET> tags can be used to specify the URL of the
- directory in which the applet resides. That way your applets can
- access the Symantec classes no matter where they reside.
-
- If your server is UNIX, you can do a symbolic link from your
- applet directory to the symantec class subdirectory on the
- server.
- *
-
- 9. When I open a project in the Form Designer, the dialog for
- Dial Up Networking appears. If I log on, all is well. If I
- cancel, Visual Cafe PRO "hangs" for several minutes.
-
- The use of relative URLs (for example, IMAGES/*.GIF) can cause
- this behavior on some systems. To avoid it, use absolute URLs
- (for example, C:\...\PROJECT\IMAGES\*.GIF) during design time
- and then switch to relative URLs for deployment.
-
- *
-
- 10. Each time I attempt to launch Visual Cafe Pro, I get this
- message: An incorrect version of the AWT is found in the path
- (check your system directory). Visual Cafe Pro runs if I click
- OK, but live controls are disabled.
-
- It is not uncommon for files that Visual Cafe PRO relies upon to
- be replaced by other vendors (Java development tools or other
- software). In most cases, the files can be one or more of the
- following: JAVAI.DLL, AWT.DLL, MFC30.DLL, and/or MSVCRT20.DLL.
- Copy these files from VisualCafePro\JAVA\BIN to
- VisualCafePro\BIN. This will ensure that the correct files are
- being loaded since the current working directory, VisualCafePro,
- is searched first (allowing the use of live controls). This
- solution is also applicable if a runtime error is generated when
- Visual Cafe Pro is launched.
-
- *
-
- 11. How can I increase the size of a form within the Form
- Designer larger than the resolution of my screen?
-
- A form in the Form Designer is limited to the resolution of your
- display. If your display system is capable, increase the its resolution
- to allow more information on the screen such as changing from 800x600
- to 1024x768. If your display system supports the use of a "viewport"
- or "virtual desktop" where only a portion of the desktop is displayed
- on the monitor, the form size can be increased to the size of the desktop.
- Note that this has not been thoroughly tested with all display systems.
-
- *
-
- 12. Can I integrate Netscape's IFC into the Visual Cafe Pro environment?
-
- Symantec will provide Netscape IFC integration instructions for Visual
- Cafe Pro on our Web site at HTTP://CAFE.SYMANTEC.COM.
-
- *
-
- 13. I would like to distribute my applications created with Visual Cafe
- Pro along with the Symantec Virtual Machine. Do I need to obtain a license?
-
- Yes. Please contact Symantec Developer Relations for additional
- information. The .class files included with Visual Cafe are freely
- distributable.
-
- *
-
- 14. I receive parsing errors when I attempt to define a custom color.
-
- Custom colors must be defined in the INIT_CONTROLS to avoid
- parsing errors.
-
- *
-
- 15. If I overlap components, why do they behave differently in Internet
- Explorer and Netscape?
-
- The Java z-order implementation within Internet Explorer for Windows is
- opposite to that of Netscape for Windows. For example, take a look at the
- slide show in VISUALCAFEPRO\TUTORIAL\APPLET\SLIDESHOW.JAVA. We've
- placed one Next InvisibleButton in front of the CLICKER.GIF image and one
- behind it so it will work for both browsers. If only one Invisible Button
- was used behind the CLICKER.GIF image in the SlideShow, the applet would
- not function correctly in Internet Explorer. To accommodate different
- Java z-order implementations, it is necessary to place an InvisibleButton
- in front of the component as well as behind it in order for events to be
- generated.
-
-
- 16. How do I add third party components to Visual Cafe PRO?
-
- Refer to the Component Integration document at
- FTP://ITOOLS.SYMANTEC.COM/PUB/DEVREL/VISUALCAFE/PAPERS/
- for instructions.
-
- *
-
- 17. To conserve resources, I'd like to disable live controls. How do you
- do this?
-
- Rename the jblender.dll file to jblender.sav and restart Visual Cafe PRO.
-
- *
-
- 18. An Environment option called AWT_DBG_ASSERT may be set in the
- sc.ini file located in \VisualCafe\bin to turn on Assert messages
- that development uses to debug VisualCafe. Technical support may
- ask you to set this when troubleshooting. To turn it on set it to
- TRUE. Set it to FALSE for regular mode. The default is FALSE.
- For example, to turn Assert messages on: AWT_DBG_ASSERT=TRUE
-
- *
-
- 19. Where can I find additional learning materials for Visual Cafe PRO
- and java?
-
- The following publishers have announced books for Visual Cafe/Pro:
-
- Discovering Visual Cafe
- IDG Books
- Wall & Griffith
-
- Visual Cafe Frontrunner
- Corolis
-
- Symantec Visual Cafe Sourcebook
- John Wiley & Sons
- Cary Jardin
-
- Visual Cafe Programming for Dummies
- IDG Books
- Tittel & Gaither
-
- Visual Cafe
- Addison Wesley Germany
- Guido Krueger
-
- Visual Cafe Pro
- WROX Press UK
- Roger Lee
-
-
- IV. Known Problems-PRO Specific and Vendor Specific
- ================================================================
- This section lists information on known problems with Visual Cafe
- PRO, and alternative actions that can be taken to avoid them. It
- is divided up by Visual Cafe and Visual Cafe Pro specific areas.
-
- Visual Cafe Specific
- --------------------
- * If you encounter certain errors when starting Visual Cafe Pro or
- if your tool palette appears empty, delete the following files from
- \visualcafepro\bin:
- *.rps
- *.reg
- *.vws
-
- Note: Some of the errors are:
- "No starter templates could be found"
- "Cannot open local repository"
- "Cannot open registry"
-
- These files are platform-dependent and must be regenerated
- when switching from one OS to another.
-
- * Due to architectural changes within Visual Cafe PRO projects, it is
- not compatible with Visual Cafe Preview 1 or 2 .VPJ files. Also, it
- is not suggested that you mix projects between Visual Cafe and Visual
- Cafe PRO.
-
- * When using the Parse All Imports option, we strongly recommend
- that you allow the parser to finish parsing before editing or
- changing a file. To view the status of the parser, select
- Messages from the Visual Cafe PRO Window menu.
-
- * The x and y dimension properties in the Property Inspector are
- not applicable for root level objects. No effect is achieved
- if you change these settings.
-
- * Visual Cafe Pro introspects class files when they are added to the
- Component Library, and allows the setting of basic properties
- in the property list if the class follows the Java Beans spec.
- Supported properties are: int, Boolean, String, String arrays,
- Color, Font, URL, and URL arrays. Currently, the additional is/set
- design pattern for Boolean properties is not supported.
-
- * The use of alignment tools within a borderPanel is not supported in
- this release.
-
- * When using border panels with snap to grid turned on, panel contents
- can shift when the panel itself is moved on a form. To prevent this,
- turn snap to grid off.
-
- * Status bar is cut off in AppletViewer when first displaying.
- You may need to manually resize the window to see it.
-
- * Under the VM, the Checkbox fires two action events when clicked.
-
- * Breakpoints in Debugging
-
- Setting breakpoints in local and anonymous classes will
- not be recognized by the debugger. To step in a local class,
- set a breakpoint at the line that calls the method of the class.
- Then step into the method.
-
- In rare cases while stepping, the break line will not be
- able to step any further. If this happens, delete or disable
- the breakpoint, and you will be able to continue stepping.
-
- While debugging, when multiple threads share the same breakpoint,
- the VM may throw an IllegalAccessError exception. This error
- is due to a bug in the JDK. Let's say you have a class that
- extends java.lang.Thread called Calculate. If you start 5
- Calculate threads and set a breakpoint in Calculate, while
- debugging you may get the above exception.
-
-
- Visual Cafe PRO Specific
- ------------------------
- * BACK PARSING
- 1. Visual Cafe PRO provides sophisticated editing abilities, where a
- change to an object in the Property List window will automatically
- generate the code change in the source, or an object added to the
- source will appear on the form and in the Project window. However,
- there have been some problems noted with this facility, where
- extensive changes to object names in the source will occasionally
- cause invalid back parsing. It is suggested that changes be made
- through the Property List window as often as possible.
-
- 2. There are rare occasions when an object dropped onto the applet
- window does not size properly, or becomes "lost" from view. The
- easiest way to recover from this is to locate the object in the
- project window. Once selected, you can edit the X,Y,Width and
- Height parameters in the Property List to desirable values.
-
- * LOGON FRAME PROBLEM
- In this version of Visual Cafe Pro, there is a problem where launching
- a frame containing a RelationView causes a logon frame to appear, but
- it locks up. Some solutions for this are listed below, for defining a
- class that launches frames.
-
- SIMPLE:
- -------
- class MyFrameClassLauncher extends Thread {
- boolean show;
- public MyFrameClassLauncher(boolean showTheFrame) {
- show = showTheFrame;
- }
- public void run() {
- MyFrameClass f = new MyFrameClass()
- if (show) f.show();
- }
- }
-
- MORE COMPLEX, BUT MORE FLEXIBLE:
- --------------------------------
- //package symantec.itools.db.awt.util;
-
- public class FrameLauncher extends Thread { String className;
- boolean show;
- //private constructor to prevent external instantiation.
- private FrameLauncher(String theFrameClass, boolean showFrame) {
- className=theFrameClass;
- }
-
- public static void launch(String theClassName) {
- FrameLauncher f = new FrameLauncher(theClassName, true);
- f.start();
- }
-
- public static void launch(String theClassName, boolean showFrame) {
- FrameLauncher f = new FrameLauncher(theClassName, showFrame);
- f.start();
- }
-
- public void run() {
- try {
- java.awt.Frame f = (java.awt.Frame)
- Class.forName(className).newInstance();
- if (!show) f.show();
- } catch(Exception e) {}
- }
- }
-
- // launch the frame by calling the Launch method from an applet:
- //
- // FrameLauncher.launch("Frame1");
-
-
- * dbAWARE COMPONENTS
- In general, dbAware components should only be used if they will be
- bound to a data projection. Otherwise, you should use a non-data
- aware component instead. Using a dbAware component without a data
- projection will result in a NullPointer exception at runtime.
-
- 1. The Grid control has undergone some extensive changes. However,
- there are still some outstanding problems you should be aware of:
-
- a. When using a grid for a detail RelationView, marking the
- master RelationView for deletion (pressing "Delete" button) will
- cause the grid to clear. This is normal behavior. However,
- performing an "Undo" will not force the grid to re-display. You
- must move the cursor to a different record and then move back,
- in order for the data to display in the grid.
-
- b. Most refresh and painting problems with the grid have been
- corrected. However, in some circumstances there are performance
- penalties. This is noticeable when running an applet with more
- than two grids in commercial browsers, such as Netscape Navigator
- and Microsoft Internet Explorer.
-
- c. There is a focus issue, when moving the cursor via tab or
- arrow key to a different row in the grid. If there is a second
- grid present, focus will shift to the next grid, instead of the
- next row.
-
- d. When creating a Grid that will use a RelationView, make sure
- you specify the RelationView through the Property Inspector before
- doing a Parse All. Otherwise, code gen specific to data aware
- usage will not be generated.
-
- 2. KeyPressManagerPanel
- a. The KeyPressManagerPanel is inserted into applets through the
- AddTable Wizard by default, because it is required for database
- transactions to be performed correctly. It ensures that data
- change notification is processed for all dbAware controls that
- are bound to data sources. It also facilitates tabbing between
- controls (something quite lacking from most Java applets today).
- Note that when dragging a table from the dbNavigator window
- instead of employing the Add Table Wizard, a KeyPressManagerPanel
- will not be instantiated. You can manually add one from the Panel
- tool palette. However, make sure that you always keep RelationView,
- Session, and ConnectionInfo objects listed before it. Conversely,
- any data aware controls should always roll-up within this panel object.
-
- b. KeyPressManagerPanel will resize properly when adding components
- through the add table wizard only if it is highlighted when invoking
- the add table wizard. If the applet is highlighted instead, the
- components will fall outside the KeyPressManagerPanel, causing parsing
- problems. If this ever happens, make sure you move this object to be
- the last entry in the Project window.
-
- 3. It is not possible to resize some of the dbAWARE objects, such as
- the Session, ConnectionInfo, and RelationView. Since these are not
- visible at runtime, there is no need to alter their appearance. It
- is also recommended that you do not Cut and Paste these objects.
-
- 4. The ImageViewer now has the capability of loading new images and
- saving them in your database. Here's how it works:
-
- a. create an applet using a table with a blob datatype.
- b. create a standard textfield control and button control.
- c. create an association between the button and the ImageViewer,
- specifying the click action to "fetch an image from...",
- indicate the textfield control as the object to get the
- information from, and indicate to "get the contents of the
- TextField".
-
- The ImageViewer will accept JPEG and GIF format images. You can
- specify them using an http or file URL, but the source is subject to
- the Java security model restrictions when running an applet (i.e. the
- image must come from the same server as the applet). Using FTP is
- not possible at this time, but is being considered in a later version.
- Refer to the on-line documentation for more details.
-
- 5. A data-aware ComboxBox control is now available, which provides
- basic functionality similar to the Windows standard. Please refer to
- the on-line help for further details on this control.
-
- 6. There is a new DateTime object included in Visual Cafe Pro.
- Please be sure to check out the documentation for it provided in
- the on-line help. Although it is a powerful, flexible object,
- not all of the formatting strings are intuitive. The documentation
- properly explains the usage.
-
- 7. The FormattedTextField is a new control included in this release.
- Essentially, it functions like a dbAware textfield, with the addition
- of having a freeform Mask property.
-
- The FormattedTextField uses a set of predefined characters that define
- the mask. When defining a mask, be sure to preface any character that
- is to be a part of the mask with the Escape character ('/'), including
- spaces. For instance, specify the mask for a long distance telephone
- number as: /(999/)/ 999/-9999.
-
- Here is a list of the key characters used to define a mask:
-
- Mask Type Symbol Restriction
- ------------------- ------ ----------------------------------------
- ESCAPE '/' Preface all mask characters with this
- DIGIT '9' numbers
- SIGN '+' sign character
- DIGIT_OR_SIGN '-' sign character or a number
- ALPHA_UPPER 'A' UPPER CASE letters
- ALPHA_LOWER 'a' lower case letters
- ALPHA_TO_UPPER 'U' letters and converts to upper case
- ALPHA_TO_LOWER 'L' letters and converts to lower case
- ALPHANUMERIC_UPPER 'X' numbers and upper case letters
- ALPHANUMERIC_LOWER 'x' numbers and lower case letters
- ALPHANUMERIC_TO_UPPER 'N' numbers and letters, but converts
- all letters to upper case
- ALPHANUMERIC_TO_LOWER 'n' numbers and letters, but converts
- all letters to lower case
- ANY '*' Allows any character to be entered
-
-
- Examples of Some Useful Masks
- -----------------------------
- Long Zip Code: 99999/-9999
- Social Security Number: 999/-99/-9999
- PG&E Account Number: AAA99/ 99999/-9
- 16 Digit Credit Card Number: 9999/ 9999/ 9999/ 9999
- MM/DD/YYYY Date Format: 99//99//9999
-
- You could even get clever and preface a name with:
- /M/r/,/ or /M/s/./ or /D/r/./
-
- Imagine the possibilities...
-
- 8. The TextField has a column property that is intended to allow
- you to specify the initial width of the text area based on the size
- of the text field's font. This is not working for this release.
-
- 9. There is a code generation problem with the Radiobox, that will
- cause parsing errors. Essentially, the binding statements for the
- Radiobox appear after the RadioButtons are initialized. There is
- a work-around for this:
- a. Do a 'parse all' after placing the first RadioButton on the form.
- (Doing this will cause the RadioBox to appear in the Project window)
- b. In the Project window, move the RadioBox above the KPMP (KeyPress
- ManagerPanel).
- c. Move the binding statement for the RadioBox before the RadioButtons
- are initialized, and this will parse correctly.
-
- 10. The CheckBox object has a label property, but it will not display
- the value that has been set.
-
- 11. Special notes for DBTimestamp:
- a. You can update a DBTstamp by pressing return or tab, but not by
- clicking on another element.
- b. If you have an empty DBTstamp field ( i.e. after creating a new
- record) you can set it to the current date/time by pressing
- return or tab.
- c. If you have both a DBTstamp and another component showing the same
- record, the DBTstamp will automaticaly update the other components.
- d. If you try to update a DBTstamp with an invalid date/time value,
- then the data value stored/displayed in the DBTstamp may be wrong.
- e. If you set a custom display format, then the entry format will get
- automaticaly updated to fit it, unless you specify differently in
- the property list.
-
-
- * LAYOUT OPTIONS
- There are several layout options available for applets, which
- consist of BorderLayout, CardLayout, FlowLayout, GridBagLayout,
- and GridLayout. A bug exists where the selection of CardLayout will
- cause ALL of the objects in your applet to resize to the dimensions
- of the applet window. To compensate for this, CardLayout is not
- used for the default, and the keyPressManagerPanel is sized slightly
- smaller than the applet window to facilitate group lasso of objects.
-
- * dbNAVIGATOR
- If you specify more than one logical name for a dbANYWHERE server, or
- use more than one dbANYWHERE server in a given project, you will see
- each entry in the dbNavigator window. It is not possible to delete
- them from this list. In order to do so, you must delete the
- dbtree.rps file, located in the BIN directory. WARNING: this will
- remove ALL dbNavigator entries. A future release will provide a
- more graceful means of editing the entries.
-
- * HETEROGENEOUS JOINS
- If your ParentRelationView is in a different database from your
- detail relationview, and you specify the wrong userID and password,
- you are not prompted again. Instead, you are given the Join
- Definition dialog and will not have any Master columns to select
- from. To correct this, you must disconnect from the data source
- via the dbNavigator and try again.
-
- * FOCUS
- 1. After moving an object that has the current focus, the focus lines
- and handle bars will no longer appear. However, the object will
- technically still have focus (cursor will show cross hairs), its just
- the focus highlight will not appear. You must lose focus by clicking
- on another object, then return back to the original object to see the
- focus highlights and handlebars.
-
- 2. You cannot lose focus on a group of objects by single clicking on
- one of the objects in focus. You must click on an object that does
- not have current focus to release the group focus.
-
-
- * LONGVARBINARY
- When projecting LongVarBinary columns in a SQL statement, be sure not
- to list them first. It is recommended that they be listed last for
- greater efficiency.
-
- * SQL STATEMENT PARSING
- The SQL statement parser has some limitations. You cannot specify some
- computational functions, table or column aliasing, or table joins of
- two or more tables. It is recommended that a SQL view be created on
- the database in use.
-
- * NEW RECORD POSITIONING
- When executing Insert for a RelationView, the new record is not always
- positioned in a predictable location. This has no affect on data.
- After committing the transaction (executing a Save method), the data
- will be refreshed, and the records will be ordered based on the SQL
- statement or by rules set in the database.
-
- * KEYWORDS
- Keywords and reserved names in Java, JDBC, and in various database
- engines should NEVER be used for dbAware object names. Doing so will
- cause unexpected results with dbANYWHERE. A future version may
- implement a reserved word check matrix.
-
- * USING ALIASES IN RELATIONVIEWS
- RelationView objects do not support column or table aliasing in SQL
- statements. It is suggested that views be created in the database(s)
- and referenced by a RelationView.
-
-
- Vendor Specific Problems
- ------------------------
-
- * Microsoft Access
-
- There are some problems with using dbANYWHERE connections to
- Microsoft Access Jet Engine databases earlier than the 7.0 version
- on Windows NT 4.0, due to some Access problems. It is recommended
- that you download the free update available on the Microsoft web
- site. The file to get is msjt3032.dll which contains the following
- files: msjt3032.dll, mswng300.dll, msajetfs.dll, readme.txt, and
- 62317T.doc. For additional information about this update, see the
- following article in the Microsoft Knowledge Base: Article-ID:
- Q143163; TITLE: Problems Running Microsoft Jet 3.0 on Windows NT 4.
-
- * Microsoft Internet Explorer
-
- Microsoft's Internet Explorer was tested with running Java applets,
- but one of the more notable problems encountered concerned the use
- of the host name "localhost." This is a default TCP/IP entry
- (127.0.0.1) in your HOSTS or LMHOSTS file which allows you to
- reference the local machine running dbANYWHERE, instead of
- specifying an IP address. In some cases, Internet Explorer failed
- to resolve the "localhost" reference, requiring the use of the full
- IP addresss. You may find it best to use IP Addresses or registered
- Domain Names whenever possible.
-
- * Sybase SQL Anywhere 5.5
-
- There tends to be a large memory and/or resource leak with repeated
- connects and disconnects to SQL Anywhere 5.5 via ODBC. Each
- connect/disconnect consumes 50-100Kbytes of virtual memory that is
- not given back to the system until the client application terminates.
- This is under both Win95 and WinNT (3.51 & 4.0). Technical Support
- at Sybase confirmed this on high numbers of connect/disconnect
- sequences in 5.5.0. They also claim that it should be fixed in
- 5.5.01. There is an EBF file on their FTP/WEB Server that may or may
- not contain the fix.
-
- Note: In the documentation, the names Watcom and SQL Anywhere are
- used interchangeably, since Watcom is the original name of this
- database engine (prior to the Sybase acquisition).
-
-
- JDK Version Incompatibilities
- -----------------------------------------------------------------
- Symantec Visual Cafe PRO 1.0d supports version 1.0.2 of the Java
- Development Kit from Sun Microsystems. Also, the JDBC API included
- supports version 1.2 of the JDBC specification.
-
- Some behaviors of the java.awt components are not correct on the
- Microsoft Windows platforms.
-
- These platform-dependent problems include:
-
- * Buttons and labels do not support foreground or background colors.
- * Checkbox/radiobuttons don't support foreground color.
- * Lists size themselves to specific increments (to completely hold
- lines of text).
- * When building applets/applications for Microsoft Internet Explorer
- you should not use the project option for Java Optimization or the
- -O switch.
- * When calculating the Client area, awt does not take into account
- the menubar. As a result your forms may not appear as WYSIWYG.
- * Choice and List components incorrectly display their size and
- position if not used in conjunction with a layout manager.
-
- Visual Cafe issues a reshape after the component is added,
- which addresses this problem. However, if you try to use
- descendants of these classes you will need to add a call to reshape
- after the component has been added. For example,
-
- Assuming newChoice extends Choice
- //{{INIT_CONTROLS
- newChoice1 = new newChoice();
- newChoice1.reshape(119,72,135,21);
- add(newChoice1);
- //}}
-
- // Add this section after the init block:
- newChoice1.reshape(119,72,135,21);
-
-
- These problems should be resolved with the 1.1 release of the JDK.
-
- JDK 1.1 Support:
- -----------------------------------------------------------------
-
- We are now working on the integration of JDK 1.1 support into
- Visual Cafe Pro and expect to have a release available soon. Please
- check with the cafe.symantec.com Web site periodically for status
- and subscribe to the mailing list so we can notify you when new
- updates to Visual Cafe Pro are available.
-
-
- JDBC Specification Problems
- -----------------------------------------------------------------
-
- * Stored Procedures
- The JDBC specification states the following format to be used
- for stored procedures:
-
- { call procedure_name [?,?,....] }
-
- where procedure_name - is the name of the procedure
- ?,?..... - are the placeholders to be used for parameters
- In the real world, the above doesn't work for all different drivers.
- So, remember these guidelines:
-
- a. Sybase SQL AnyWhere / Watcom
-
- ODBC drivers are supposed to support the above escape processing
- syntax for stored procedures. Unfortunately the Watcom ODBC driver
- doesn't support this. So, always use native calling syntax with
- Watcom, which is, "call procedure_name ( ?, ?, ? )".
-
- But if you were really brave and wanted to try using the ODBC
- standard, you would get an "Unable to prepare SQL Statement"
- exception or some other related message.
-
- b. All InterSolv ODBC Drivers
-
- These drivers do behave a little bit better than the Watcom driver.
- They let you to prepare the statement, but while executing the
- statement by executeUpdate(), execute() etc, sometimes strange
- errors are displayed. It may be prudent to utilize the dbANYWHERE
- direct drivers whenever possible.
-
- c. Native Sybase driver, Microsoft SQL Server driver.
-
- Should work fine without a problem.
-
- d. Native Oracle driver.
-
- This works fine, but make sure to include an extra set of () around the
- placeholders. This requirement may be alleviated in future versions.
-
- { call procedure_name [(?,?,....)] }
- Note the () around placeholders
-
-
- * Date datatypes are restricted to the range 1970-01-01 to 1999-12-31.
- Attempts to retrieve data with dates outside this range will throw
- an exception that can, in some cases, be unrecoverable.
-
- * Excessively large datatypes that go beyond the definitions that
- JDBC can handle, will cause applets to hang when running. For
- example, if you are using Oracle and project a column of datatype
- NUMBER(38), the applet will hang when executing (no controls will
- appear). Make sure you do not violate the datatype limits of JDBC.
-
-
- Low-memory warning on startup
- -----------------------------------------------------------------
- If the sum of your system's available physical memory (RAM) and
- swap space on disk is below a minimal level when Visual Cafe PRO
- starts up, a warning dialog will notify you of this condition. We
- will advise you to increase swap space (see below). You have the
- option of ignoring this warning (answer "No" to the "Quit?" prompt),
- and proceeding to run Visual Cafe PRO. With light use, you may
- not experience any problems at all. But with typical use, at some
- time in the course of your Visual Cafe PRO session you may begin
- to see "low virtual memory" warnings from the operating system.
- Typical symptoms of running any complex application with too
- little available memory are sluggish performance and unstable
- system behavior.
-
- If the warning dialog recommends that you increase swap space by
- some small amount, such as 2 or 3 MB, please increase minimum
- swap space on Windows NT, or free disk space on Windows 95, by
- at least 5 MB.
-
- On Windows 95, if the option is selected in Settings | Control Panel
- | System | Performance | Virtual Memory to let the OS manage swap
- space (this is the default), then available swap space is simply the
- amount of free disk space; but note that there is no guaranteed
- minimum: if the disk is full, there is no swap space available.
-
- On Windows NT 3.51, Control Panel is started from Program Manager;
- on Windows NT 4.0, Control Panel is started from the Settings
- menu item, as on Windows 95. The page file setting that matters
- most to an application on NT is the minimum page size setting.
- On a system with 32 MB RAM, the minimum swap space should be not
- less than 20 MB, and 32 MB is better. A reasonable setting for
- the maximum is at least twice the minimum.
-
- For further details about virtual memory, see the OS Help on the
- System dialog.
-
-
- V. Revision History:
- ================================================================
- 1.0e
-
- 1. Resolved crash drawing InvisibleHTMLLink component partially onto another
- component.
- 2. Resolved crash setting Preview Component to "true" for Animator without
- specifying URL.
- 3. Resolved various Menu Editor crashes and inability to copy or paste menus
- or menu items within Menu Editor, Project Windows, or Form Designer.
- 4. Resolved crash when Menu Editor remained open after parent is deleted.
- 5. Resolved crash when import statements were deleted from source.
- 6. Resolved crash when inserting a Canvas into a Calendar.
- 7. Resolved crash with non-existent within a Tab Panel.
- 8. Resolved crash when closing project with an invalid applet name.
- 9. Resolved NervousText 100% CPU usage when paused.
- 10. Resolved horizontal and vertical sliders that were "see through."
- 11. Resolved Border Panel contents shifting up and left when Form
- Editor is opened and closed.
- 12. Resolved Sound Player component that failed to parse.
- 13. Resolved List Box shrinkage on opening and closing the Form Editor.
- 14. Resolved setDate method in Calendar that failed to set date.
- 15. Resolved labelButton label that was missing until clicked on execute.
- 16. Resolved left alignment issues within Label and textFields.
- 17. Resolved various Numeric Spinner issues.
- 18. Resolved the adding of more than 14 files to the URL property
- of Animator or Slideshow.
- 19. Resolved various issues with saving projects on a network.
- 20. Resolved various back parser failures.
- 21. Resolved various GridBag failures.
- 22. Resolved failure with extending java.awt.Canvas
- 23. Resolved Slider not painting correctly if the default value isn't 0.
- 24. Resolved NumericSpinner default values not functioning.
- 25. Resolved LabelButton's label not showing until clicked as well as other
- issues.
- 26. Removed "?invalid row" in messages window.
- 27. Inserting a package statement no longer prevents future visual
- design code generation.
- 28. Sample applets modified.
- 29. Various component documentation enhancements.
- 30. Live Controls now disabled if foreign Java .DLL files are found in the
- system path.
- 31. Variables are now available with an applet connection.
- 32. Resolved accelerator conflicts with Window Menu.
- 33. Added installation prompts for Classpath addition to environment.
- 34. Added "double" capability in GridBag layout.
- 35. Added "Applet to Dialog" interactions.
- 36. Added Macro Recorder.
- 37. Added Macro Recorder help.
- 38. Added support for name, label, or values greater than 256 characters.
- 39. Added default tab property for TabPanel.
- 40. Added "Generate Debug Information" into project options.
- 41. Resolved MultiList clear method where list would not clear until clicked.
- 42. Resolved preformatted text fields with KeyPressManagerPanel to support tabbing.
- 43. Resolved CardLayout so that card names are now generated into the source file.
-
-
- VI. Additional Information
- ================================================================
-
- Sybase SQL Anywhere 5.5
- -----------------------
- 1. Use of the Sybase SQL Anywhere Server and the Sybase SQL Anywhere
- Runtime Distributable Components requires the user to read the license
- information displayed in the Visual Cafe PRO installation screen and
- contained in the license files provided on disk (Sybase Runtime
- License and Sybase SQL Server License).
-
- 2. Only one copy of the SQL Anywhere Server may be used for development
- purposes and one copy of the SQL Anywhere Runtime Distributable
- Components may be used with Visual Cafe Pro. The Sybase Anywhere
- Server and the Sybase Anywhere Runtime Distributable Components may
- only be used in conjunction with dbANYWHERE Workgroup Server.
-
- 3. End user developers may not include dbANYWHERE Workgroup Server,
- Sybase SQL Anywhere Server or Sybase SQL Anywhere Runtime Distributable
- Components with their applications unless each copy of their application
- includes a fully licensed version of Visual Cafe Pro.
-
- 4. Sybase SQL Anywhere Server will be used for database application
- development. Any deployment of the database and application will require
- the use of the Sybase SQL Anywhere Runtime Distributable Components.
- The Sybase SQL Anywhere Server is not licensed for use in deployment
- situations.
-
- 5. Note that the included Sybase SQL Anywhere Runtime Distributable
- Components allow up to no more than 10 simultaneous connections.
-
- 6. Because this Software is a Symantec database development product,
- you have a right to host one version of the database components of
- the Software product on a different physical machine than the machine
- on which the development environment is used. Even though different
- components of the included Software Product may be hosted on separate
- physical machines, only one copy of each component may exist at one
- time. This applies to both development and runtime database engines
- provided with this Software product.
-
- *
-
- VII. Contacting Symantec for Technical Support
- ================================================================
-
- During the first 90 days of your purchase, you may call Technical
- support free of charge at (541) 465-8470.
-
- 1. Free and unlimited electronic support is available at
- http://www.symantec.com/techsupp/news/index.html,
-
- Support is also available on the usenet newsgroup
- comp.lang.java
-
- Send bug reports to support_javawin@symantec.com
-
- 2. If your User ID and Password become inoperative, please send
- e-mail notification to Customer Service at custserv@symantec.com
- with your name, address, daytime phone number, ID and password.
- Please type "Visual Cafe PRO" in the subject field. We will respond
- shortly thereafter.
-
- 3. If you have lost your Cafe ID set, please send notification to
- Customer Service at custserv@symantec.com. In the event that
- your information does not appear in our registration database,
- we will provide additional avenues for verification of ownership.
-
- 4. For CD purchases or damaged disks please call Customer Service
- at 800-441-7234.
-